import { post, postWithQueryParams } from "@/api/request";

/**
 * 文档管理控制器 / 文档管理控制器批量删除
 * @param {object} params
 * @param {object} data
 * @param {array<number>} params.idList idList
 * @param {import("axios").AxiosRequestConfig} [config]
 * @returns {Promise<array<long>>}
 * @author 肖玮
 */
export function managementAttachmentBatchDelete(params, data, config) {
  return postWithQueryParams("/management/attachment/batchDelete", params, data, config);
}

/**
 * 文档管理控制器 / 文档管理控制器分页查询
 * @param {object} data
 * @param {number} [data.directoryId] 目录id
 * @param {number} [data.length] 分页大小
 * @param {number} [data.orderAsc] 排序方向
 * @param {string} [data.orderColum] 排序字段
 * @param {string} [data.originalName] 文档名称
 * @param {number} [data.pageIndex] 分页下标
 * @param {number} [data.start] 查询记录起始下标
 * @param {import("axios").AxiosRequestConfig} [config]
 * @returns {Promise<分页返回实体<分页查询文档信息显示实体>>}
 * @author 肖玮
 */
export function managementAttachmentList(data, config) {
  return post("/management/attachment/list", data, config);
}

/**
 * @typedef {object} 分页查询文档信息显示实体 分页查询文档信息显示实体
 * @property {number} attSize 附件大小
 * @property {string} attSizeString 附件大小
 * @property {string} createTime 创建时间
 * @property {string} createUser 创建用户
 * @property {number} directoryId 文档目录id
 * @property {number} id 附件id
 * @property {string} originalName 原始文件名
 * @property {string} projectName 项目名称
 * @property {string} projectNumber 项目编号
 * @property {string} updateTime 修改时间
 * @description 分页查询文档信息显示实体
 */

/**
 * @template T
 * @typedef {Object} 分页返回实体
 * @property {T[]} content - 内容
 * @property {number} elementsNo
 * @property {number} limit
 * @property {number} number
 * @property {number} totalElements
 * @property {number} totalPages
 * @description 分页返回实体
 */
